package cn.com.shopec.erp.stock.dao;


import java.util.List;

import cn.com.shopec.erp.common.orm.IHibernateEntityDao;
import cn.com.shopec.erp.stock.entity.StockOutPurInfo;
import cn.com.shopec.erp.stock.vo.StockOutPurInfoVo;

/**
 * @ClassName: IStockOutPurInfoDao.java
 * @Description: 出库商品采购单关系Dao接口
 * @author: zengxuezhou
 * @date: 2017年1月17日 下午5:28:19
 */
public interface IStockOutPurInfoDao extends IHibernateEntityDao<StockOutPurInfo> {

	/**
	 * 删除（根据出库单号）
	 * @param stockOutPurInfo
	 */
	void deleteStockOutPurInfo(StockOutPurInfo stockOutPurInfo);

	/**
	 * 得到该出库单号的实体数量
	 * @param stockOutNo
	 * @return
	 */
	int getCountByStockNo(StockOutPurInfoVo stockOutPurInfo);


	/**
	 * 分页查询
	 * @param stockOutNo
	 * @param startOfPage
	 * @param pageSize
	 * @return
	 */
	List<StockOutPurInfoVo> getListByStockNo(StockOutPurInfoVo stockOutPurInfo, int startOfPage, int pageSize);
	
/*	*//**
	 *  按查询stockOutNo，并且以采购单进行分组和统计其数量
	 * @param stockOutNo
	 * @return
	 *//*
	List<StockOutPurInfoVo> queryGroupByPur(String stockOutNo);*/
	
	/**
	 * 按出库商品id查询(普通出库时用)
	 * @param stockOutNo
	 * @return
	 */
	List<Object[]> queryForStockOut(String stockOutProductId);
	
	/**
	 * 按入库商品id查询(普通入库时用)
	 * @param stockOutNo
	 * @return
	 */
	List<Object[]> queryForStockIn(String stockInProductId);
	/**
	 * 按调拨单号，商品编号查询(调拨入库时用)
	 * @param stockOutNo
	 * @return
	 */
	List<Object[]> queryForStockTransfer(String transferNo, String prodNo);


	
	
}
